<script>
// 需求：如何继承父类的方法呢？

function Person(name, age) {
  this.name = name;
  this.age = age
}
// 方法往往应该挂载到父类构造函数的原型上面
Person.prototype.say = function() {
  console.log('Hello World')
}

// const p1 = new Person('张三' , 18)
// const p2 = new Person('李四' , 19)
// console.log(p1.say === p2.say) // true，没有所谓的内存浪费的问题了

// 问题来了，一旦把父类的方法挂载父类的构造函数原型上面，使用 call 式继承就搞不定了！

function Star(name, age) {
  Person.call(this, name ,age)
}

const p = new Star('王思聪', 20)
p.say()
</script>